package org.example.managere.service;

import org.example.managere.dto.OperationDto;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;

import java.util.List;

public interface OperationService {
    List<OperationDto> getAllOperations();
    
    Page<OperationDto> getOperationsWithPagination(Pageable pageable);
    
    OperationDto getOperationByName(String name);
    
    OperationDto getOperationById(Integer id);
    
    List<OperationDto> findBySystemContaining(String system);
    
    List<OperationDto> findBySubsystemContaining(String subsystem);
    
    List<OperationDto> findByFModeContaining(String fMode);
    
    OperationDto createOperation(OperationDto operationDto);
    
    OperationDto updateOperation(String name, OperationDto operationDto);
    
    OperationDto updateOperation(Integer id, OperationDto operationDto);
    
    void deleteOperation(String name);
    
    void deleteOperation(Integer id);
} 